iT邦幫忙

2022 iThome 鐵人賽

DAY 8
0
自我挑戰組

冒牌工程師上學去系列 第 8

1-7 四則運算_進制轉換

  • 分享至 

  • xImage
  •  

聊完CPU/Memory/IO後,今天來唸進制傳換的部分。

什麼是進制?

就是一種計算數字進位的方式,在我們生活的世界裡
跟錢有關都是10進制,個位數只會有1-9,碰到10就進位。
而時間則是60進位,一分鐘 = 60秒。
電腦的世界則是2進制,利用1和0傳遞及存取資料。

N進制就是碰到數字N就進位的意思。

10進制轉N進制

一、分離 『整數』、『小數』部分。

二、『整數』部分:
不斷除以目標N進制,直到商數為 0,並反向取出『餘數』。

三、『小數』部分:
不斷乘以「目標進制基底,取出乘積小數部分」,
直到乘積小數部分為 0,並 正向 取出『乘積』整數部分。

四、最後,將兩者合併!

是不是有聽沒有懂,沒關係我們來實際舉個例子。

將10進制的87.12510轉成2進制

https://ithelp.ithome.com.tw/upload/images/20220923/20141684bfedlTTXK5.png

https://ithelp.ithome.com.tw/upload/images/20220923/201416845yibM4gBHs.png

N進制轉10進制

以剛剛的例子繼續,如果我要把二進制 ( 1 0 1 0 1 1 1 . 0 0 1)₂ 轉回10進制怎麼辦?

// 整數部分
1*2⁶ + 0*2⁵ + 1*2⁴ + 0*2³ + 1*2² + 1*2¹ + 1*2⁰ = 87

// 小數部分
0*2⁻¹ + 0*2⁻² + 1*2⁻³ = 1/8 = 0.125

// 相加
87 + 0.125 = (87.125)₁₀ 

超過10進制的數字怎麼標

英文和數字佔一個位元組(Byte)
當數字為10以上,為了讓他一樣都只有佔一個Byte而不是兩個,因此改用英文字母標示
https://ithelp.ithome.com.tw/upload/images/20220923/20141684X3NzJRCyw1.png

昨天答案:(C)
全彩1個pixel為24bit = 3Byte
24*800*600 = 3Byte*480000 = 1440000Byte = 1.44MB

分類會依照第一篇介紹的分類架構來進行
由於是將學習過程記錄下來,如果有任何錯誤歡迎糾正

以下參考連結在學習過程中覺得非常有幫助:
-進制簡介
-台大線上課程


上一篇
1-6 I/0 是不是就是1和0的簡稱?
下一篇
1-8 四則運算_負數定義
系列文
冒牌工程師上學去42
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言